home *** CD-ROM | disk | FTP | other *** search
/ Shareware Overload Trio 2 / Shareware Overload Trio Volume 2 (Chestnut CD-ROM).ISO / dir39 / chkpath.zip / CHKPAT.EXE / CHKPATH.PAS
Pascal/Delphi Source File  |  1993-11-26  |  1KB  |  80 lines

  1. program chkpath;
  2.  
  3. Uses Dos;
  4.  
  5. Procedure GetNextPath ( var Path, CurrPath : String );
  6.  
  7. Var
  8.    SemiPos : Byte;
  9.  
  10. Begin
  11.  
  12.  
  13.    SemiPos := Pos(';',Path);
  14.  
  15.    If SemiPos = 0 then
  16.       Begin
  17.          CurrPath := Path;
  18.          Path := '';
  19.       End
  20.    Else
  21.       Begin
  22.          CurrPath := Copy(Path,1,SemiPos - 1);
  23.          Path := Copy(Path,SemiPos + 1, Length(Path));
  24.       End;
  25. End;
  26.  
  27. Function CheckPath( Path : String ) : Boolean;
  28.  
  29. Var
  30.    Result : Integer;
  31.  
  32. Begin
  33.  
  34. {$I-}
  35.    ChDir(Path);
  36. {$I-}
  37.  
  38.    Result := IOResult;
  39.  
  40.    CheckPath := (Result = 0);
  41.  
  42. End;
  43.  
  44. Var
  45.    PathStr  : String;
  46.    CurrPath : String;
  47.    SaveDir  : String;
  48.    Count    : Byte;
  49.  
  50. Begin
  51.  
  52.    WriteLn('Check Path : By Tony Nelson : FreeWare 1993');
  53.    WriteLn('Checking your current path for nonexistent entries...');
  54.    WriteLn;
  55.  
  56.    GetDir(0,SaveDir);
  57.  
  58.    PathStr := GetEnv('Path');
  59.  
  60.    While (PathStr) <> '' do
  61.       Begin
  62.          GetNextPath(PathStr, CurrPath);
  63.  
  64.          If not CheckPath(CurrPath) then
  65.             Begin
  66.                WriteLn(CurrPath,' is invalid!');
  67.                Inc(Count);
  68.             End;
  69.       End;
  70.  
  71.  
  72.    If Count <> 0 then
  73.       WriteLn;
  74.  
  75.    WriteLn('Found ',Count,' nonexistent entries.');
  76.  
  77.  
  78.    ChDir(SaveDir);
  79.  
  80. End.